POV-Ray : Newsgroups : povray.windows : Can anyone parse this correctly? : Can anyone parse this correctly? Server Time
9 Jun 2024 10:11:56 EDT (-0400)
  Can anyone parse this correctly?  
From: FractalMBrown
Date: 19 Jul 2005 11:45:01
Message: <web.42dd1fe9e652faa392a4d1390@news.povray.org>
I am attempting to render a 1600x1200 AA 0.3 version of a level 5 Menger
Sponge. However, it will crash with a "POV-Ray for Windows has encountered
an error" message after about two minutes, occasionally. And, when it does
appear to parse correctly, there is no render window and the statistics say
that the entire four minutes was spent on render time. I check the folder
and find a 640x480 bitmap file, which is not what I wanted. It will also
crash for me if I try 800x600 no AA. I run Windows XP Home with POV-Ray
3.6.

//BEGIN POV FILE

//The method I'm using to do this is this: create a 3x3 block of cubes, then
comment out
//the appropriate cubes to remove. This creates the Menger Sponge. Most of
this POV file
//is just a bunch of declarations, and in the end, there will only be about
one object.

#include "colors.inc"

global_settings {
  radiosity {
    pretrace_start 0.08
    pretrace_end   0.04
    count 35
    nearest_count 5
    error_bound 1.8
    recursion_limit 3
    low_error_factor .5
    gray_threshold 0.0
    minimum_reuse 0.015
    brightness 1

    adc_bailout 0.01/2
     }
   }


  background { White * .86 }

camera {
  location  <1.0, 2.0, -5.0>
  look_at   <-0.3, -0.3333,  0.0>
  rotate    <0.0, clock*360, 0.0>
  right     x*image_width/image_height
}

  //This is the section where all the cubes are declared.

  #declare s1 = 0.8;
  #declare s2 = 0.9;
  #declare s3 = 0.9;
  #declare s4 = 0.9;
  #declare s5 = 0.9;

  #declare obj1 =
     box { <-.5, -.5, -.5> <.5, .5, .5> //This is a 1x1 cube.


                material {
                  texture  {
                    pigment  {   White   }
                    finish   { diffuse .5 ambient 0 specular .5 }
                           }
                         }
         }


   #declare lev1 = union {

        object { obj1 scale s1 translate <1, 1, 1> }
        object { obj1 scale s1 translate <2, 1, 1> }
        object { obj1 scale s1 translate <3, 1, 1> }
        object { obj1 scale s1 translate <1, 2, 1> }
   //   object { obj1 scale s1 translate <2, 2, 1> }
        object { obj1 scale s1 translate <3, 2, 1> }
        object { obj1 scale s1 translate <1, 3, 1> }
        object { obj1 scale s1 translate <2, 3, 1> }
        object { obj1 scale s1 translate <3, 3, 1> }

        object { obj1 scale s1 translate <1, 1, 2> }
   //   object { obj1 scale s1 translate <2, 1, 2> }
        object { obj1 scale s1 translate <3, 1, 2> }
   //   object { obj1 scale s1 translate <1, 2, 2> }
   //   object { obj1 scale s1 translate <2, 2, 2> }
   //   object { obj1 scale s1 translate <3, 2, 2> }
        object { obj1 scale s1 translate <1, 3, 2> }
   //   object { obj1 scale s1 translate <2, 3, 2> }
        object { obj1 scale s1 translate <3, 3, 2> }

        object { obj1 scale s1 translate <1, 1, 3> }
        object { obj1 scale s1 translate <2, 1, 3> }
        object { obj1 scale s1 translate <3, 1, 3> }
        object { obj1 scale s1 translate <1, 2, 3> }
   //   object { obj1 scale s1 translate <2, 2, 3> }
        object { obj1 scale s1 translate <3, 2, 3> }
        object { obj1 scale s1 translate <1, 3, 3> }
        object { obj1 scale s1 translate <2, 3, 3> }
        object { obj1 scale s1 translate <3, 3, 3> }

        translate <-2, -2, -2>

        scale 1/3

        }

    #declare lev2 = union {

        object { lev1 scale s2 translate <1, 1, 1> }
        object { lev1 scale s2 translate <2, 1, 1> }
        object { lev1 scale s2 translate <3, 1, 1> }
        object { lev1 scale s2 translate <1, 2, 1> }
   //   object { lev1 scale s2 translate <2, 2, 1> }
        object { lev1 scale s2 translate <3, 2, 1> }
        object { lev1 scale s2 translate <1, 3, 1> }
        object { lev1 scale s2 translate <2, 3, 1> }
        object { lev1 scale s2 translate <3, 3, 1> }

        object { lev1 scale s2 translate <1, 1, 2> }
   //   object { lev1 scale s2 translate <2, 1, 2> }
        object { lev1 scale s2 translate <3, 1, 2> }
   //   object { lev1 scale s2 translate <1, 2, 2> }
   //   object { lev1 scale s2 translate <2, 2, 2> }
   //   object { lev1 scale s2 translate <3, 2, 2> }
        object { lev1 scale s2 translate <1, 3, 2> }
   //   object { lev1 scale s2 translate <2, 3, 2> }
        object { lev1 scale s2 translate <3, 3, 2> }

        object { lev1 scale s2 translate <1, 1, 3> }
        object { lev1 scale s2 translate <2, 1, 3> }
        object { lev1 scale s2 translate <3, 1, 3> }
        object { lev1 scale s2 translate <1, 2, 3> }
   //   object { lev1 scale s2 translate <2, 2, 3> }
        object { lev1 scale s2 translate <3, 2, 3> }
        object { lev1 scale s2 translate <1, 3, 3> }
        object { lev1 scale s2 translate <2, 3, 3> }
        object { lev1 scale s2 translate <3, 3, 3> }

        translate <-2, -2, -2>

        scale 1/3

        }

    #declare lev3 = union {

        object { lev2 scale s3 translate <1, 1, 1> }
        object { lev2 scale s3 translate <2, 1, 1> }
        object { lev2 scale s3 translate <3, 1, 1> }
        object { lev2 scale s3 translate <1, 2, 1> }
   //   object { lev2 scale s3 translate <2, 2, 1> }
        object { lev2 scale s3 translate <3, 2, 1> }
        object { lev2 scale s3 translate <1, 3, 1> }
        object { lev2 scale s3 translate <2, 3, 1> }
        object { lev2 scale s3 translate <3, 3, 1> }

        object { lev2 scale s3 translate <1, 1, 2> }
   //   object { lev2 scale s3 translate <2, 1, 2> }
        object { lev2 scale s3 translate <3, 1, 2> }
   //   object { lev2 scale s3 translate <1, 2, 2> }
   //   object { lev2 scale s3 translate <2, 2, 2> }
   //   object { lev2 scale s3 translate <3, 2, 2> }
        object { lev2 scale s3 translate <1, 3, 2> }
   //   object { lev2 scale s3 translate <2, 3, 2> }
        object { lev2 scale s3 translate <3, 3, 2> }

        object { lev2 scale s3 translate <1, 1, 3> }
        object { lev2 scale s3 translate <2, 1, 3> }
        object { lev2 scale s3 translate <3, 1, 3> }
        object { lev2 scale s3 translate <1, 2, 3> }
   //   object { lev2 scale s3 translate <2, 2, 3> }
        object { lev2 scale s3 translate <3, 2, 3> }
        object { lev2 scale s3 translate <1, 3, 3> }
        object { lev2 scale s3 translate <2, 3, 3> }
        object { lev2 scale s3 translate <3, 3, 3> }

        translate <-2, -2, -2>

        scale 1/3

        }

    #declare lev4 = union {

        object { lev3 scale s4 translate <1, 1, 1> }
        object { lev3 scale s4 translate <2, 1, 1> }
        object { lev3 scale s4 translate <3, 1, 1> }
        object { lev3 scale s4 translate <1, 2, 1> }
   //   object { lev3 scale s4 translate <2, 2, 1> }
        object { lev3 scale s4 translate <3, 2, 1> }
        object { lev3 scale s4 translate <1, 3, 1> }
        object { lev3 scale s4 translate <2, 3, 1> }
        object { lev3 scale s4 translate <3, 3, 1> }

        object { lev3 scale s4 translate <1, 1, 2> }
   //   object { lev3 scale s4 translate <2, 1, 2> }
        object { lev3 scale s4 translate <3, 1, 2> }
   //   object { lev3 scale s4 translate <1, 2, 2> }
   //   object { lev3 scale s4 translate <2, 2, 2> }
   //   object { lev3 scale s4 translate <3, 2, 2> }
        object { lev3 scale s4 translate <1, 3, 2> }
   //   object { lev3 scale s4 translate <2, 3, 2> }
        object { lev3 scale s4 translate <3, 3, 2> }

        object { lev3 scale s4 translate <1, 1, 3> }
        object { lev3 scale s4 translate <2, 1, 3> }
        object { lev3 scale s4 translate <3, 1, 3> }
        object { lev3 scale s4 translate <1, 2, 3> }
   //   object { lev3 scale s4 translate <2, 2, 3> }
        object { lev3 scale s4 translate <3, 2, 3> }
        object { lev3 scale s4 translate <1, 3, 3> }
        object { lev3 scale s4 translate <2, 3, 3> }
        object { lev3 scale s4 translate <3, 3, 3> }

        translate <-2, -2, -2>

        scale 1/3

        }

    #declare lev5 = union {

        object { lev4 scale s5 translate <1, 1, 1> }
        object { lev4 scale s5 translate <2, 1, 1> }
        object { lev4 scale s5 translate <3, 1, 1> }
        object { lev4 scale s5 translate <1, 2, 1> }
   //   object { lev4 scale s5 translate <2, 2, 1> }
        object { lev4 scale s5 translate <3, 2, 1> }
        object { lev4 scale s5 translate <1, 3, 1> }
        object { lev4 scale s5 translate <2, 3, 1> }
        object { lev4 scale s5 translate <3, 3, 1> }

        object { lev4 scale s5 translate <1, 1, 2> }
   //   object { lev4 scale s5 translate <2, 1, 2> }
        object { lev4 scale s5 translate <3, 1, 2> }
   //   object { lev4 scale s5 translate <1, 2, 2> }
   //   object { lev4 scale s5 translate <2, 2, 2> }
   //   object { lev4 scale s5 translate <3, 2, 2> }
        object { lev4 scale s5 translate <1, 3, 2> }
   //   object { lev4 scale s5 translate <2, 3, 2> }
        object { lev4 scale s5 translate <3, 3, 2> }

        object { lev4 scale s5 translate <1, 1, 3> }
        object { lev4 scale s5 translate <2, 1, 3> }
        object { lev4 scale s5 translate <3, 1, 3> }
        object { lev4 scale s5 translate <1, 2, 3> }
   //   object { lev4 scale s5 translate <2, 2, 3> }
        object { lev4 scale s5 translate <3, 2, 3> }
        object { lev4 scale s5 translate <1, 3, 3> }
        object { lev4 scale s5 translate <2, 3, 3> }
        object { lev4 scale s5 translate <3, 3, 3> }

        translate <-2, -2, -2>

        scale 1

        }

        object { lev5 }

        light_source { <2, 2, 2> White }
        light_source { <0, 0, 0> White*.75}


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.